<

Flutterのビルドモード

Flutter ツールは、アプリのコンパイル時に 3 つのモードをサポートします。 テスト用のヘッドレス モード。 現在の状況に応じてコンパイル モードを選択します 開発サイクル。コードをデバッグしていますか?あなたは プロファイリング情報が必要ですか?アプリをデプロイする準備はできていますか?

どのモードをいつ使用するかについての簡単な概要は次のとおりです。

ページの残りの部分では、これらのモードについて詳しく説明します。

  • ヘッドレス テストについて詳しくは、を参照してください。 flutterウィキ。
  • ビルド モードを検出する方法については、「Flutter アプリのデバッグ/リリース モードを確認するブログ投稿。

デバッグ

デバッグモード、アプリは物理的なデバッグ用にセットアップされています。 デバイス、エミュレータ、またはシミュレータ。

モバイル アプリのデバッグ モードは次のことを意味します。

  • アサーション有効になっています。
  • サービス拡張機能が有効になっています。
  • コンパイルは開発と実行サイクルを高速化するために最適化されています (ただし、実行速度、バイナリ サイズ、またはデプロイメントについては対象外です)。
  • デバッグが有効になっており、ソース レベルのデバッグをサポートするツール (そのような開発ツール) プロセスに接続できます。

Web アプリのデバッグ モードとは、次のことを意味します。

  • ビルドはいいえ縮小化され、木が揺れるいいえその間 実行されました。
  • アプリは次のものでコンパイルされていますダートデバイスのコンパイラ デバッグが容易になります。

デフォルトでは、flutter runデバッグモードにコンパイルします。 IDE はこのモードをサポートしています。 Androidスタジオ、 たとえば、実行 > デバッグ…メニューオプション、 小さな三角形が重ねられた緑色の虫のアイコンも表示されます プロジェクトページにあります。

リリース

使用リリースモードアプリをデプロイするため、最大限の効果が必要な場合 最適化と最小の設置面積サイズ。モバイルの場合、リリースモード (シミュレータまたはエミュレータではサポートされていません) は、次のことを意味します。

  • アサーションは無効になっています。
  • デバッグ情報は削除されます。
  • デバッグは無効になっています。
  • コンパイルは高速起動、高速実行のために最適化されています。 そして小さなパッケージサイズ。
  • サービス拡張機能は無効になっています。

Web アプリのリリース モードとは、次のことを意味します。

  • ビルドは縮小され、ツリーシェイキングが実行されます。
  • アプリは次のものでコンパイルされていますダーツ2jsのコンパイラ 最高のパフォーマンス。

コマンドflutter run --releaseリリースモードにコンパイルします。 IDE はこのモードをサポートしています。たとえば、Android Studio を提供します実行 > 実行…メニューオプション、および三角形 プロジェクト ページ上の緑色の実行ボタン アイコン。 特定のターゲットのリリース モードにコンパイルできます とflutter build <target>。サポートされているターゲットのリストについては、 使用flutter help build

詳細については、リリースに関するドキュメントを参照してください。iOSアンドロイドアプリ。

プロフィール

プロファイルモード、ある程度のデバッグ能力は維持されますが、十分です アプリのパフォーマンスをプロファイリングします。プロファイルモードは無効になっています エミュレータとシミュレータ、それらの動作は代表的なものではないため 本当のパフォーマンスの。モバイルでは、プロファイル モードはリリース モードと似ていますが、 次のような違いがあります。

  • 一部のサービス拡張機能 (パフォーマンスを可能にするものなど) オーバーレイが有効になっています。
  • トレースが有効になっており、ソースレベルのデバッグをサポートするツールが有効になっています (そのような開発ツール) プロセスに接続できます。

Web アプリのプロファイル モードとは、次のことを意味します。

  • ビルドはいいえ縮小されていますが、ツリーシェイキングが実行されています。
  • アプリは次のものでコンパイルされていますダーツ2jsコンパイラ。
  • DevTools が実行中の Flutter Web アプリに接続できない プロファイルモードで。 Chrome DevTools を使用して、タイムラインイベントを生成するWeb アプリの場合。

IDE はこのモードをサポートしています。たとえば、Android Studio を提供します実行 > プロファイル…メニューオプション。 コマンドflutter run --profileプロファイルモードにコンパイルします。

ビルドモードの詳細については、次を参照してください。Flutterのビルドモード。